Data "DONCASTER ","EPSOM ","BRIGHTON ","SANDOWN ","YORK ","KEMPTON ","NEWCASTLE "
Data "CHESTER ","NEWBURY ","ASCOT ","NEWMARKET ","EDINBURGH ","FOLKSTONE ","HAMILTON "
Data "REDCAR "
For A=1 To 5 : Read GOING$(A) : Next A
Data "HEAVY","SOFT ","GOOD ","FIRM ","HARD "
For A=1 To 15 : Read DRW$(A) : Next A
Data "LOW BEST","LOW (SPRINTS)","NO ADV","HIGH BEST","HIGH (SPRINTS)"
Data "LOW BEST","LOW (SPRINTS)","NO ADV","HIGH BEST","HIGH (SPRINTS)"
Data "LOW BEST","LOW (SPRINTS)","NO ADV","HIGH BEST","HIGH (SPRINTS)"
For A=1 To 8 : Read POS$(A) : Next A
Data "1st","2nd","3rd","4th","5th","6th","7th","8th"
For A=1 To 100 : Read HCHAR$(A) : Next A
Data "C01D01G05","C02D02G04","C03D03G03","C04D04G02","C05D05G01"
Data "C07D06G04","C08D07G03","C09D08G02","C10D09G01","C11D01G05"
Data "C12D02G01","C13D03G02","C14D04G03","C15D05G04","C10D06G05"
Data "C01D07G01","C02D08G02","C03D09G03","C04D01G04","C05D02G05"
Data "C06D03G01","C07D04G02","C08D05G03","C09D06G04","C10D07G05"
Data "C11D08G01","C12D09G02","C13D01G03","C14D02G04","C15D03G05"
Data "C01D04G01","C05D05G02","C06D06G03","C07D07G04","C08D08G05"
Data "C09D09G01","C10D01G02","C12D02G03","C14D03G04","C06D04G05"
Data "C01D05G01","C02D06G02","C03D07G03","C04D08G04","C05D09G05"
Data "C06D01G01","C07D02G02","C08D03G03","C09D04G04","C10D05G05"
Data "C01D01G05","C02D02G04","C03D03G03","C04D04G02","C05D05G01"
Data "C07D06G04","C08D07G03","C09D08G02","C10D09G01","C11D01G05"
Data "C12D02G01","C13D03G02","C14D04G03","C15D05G04","C10D06G05"
Data "C01D07G01","C02D08G02","C03D09G03","C04D01G04","C05D02G05"
Data "C06D03G01","C07D04G02","C08D05G03","C09D06G04","C10D07G05"
Data "C11D08G01","C12D09G02","C13D01G03","C14D02G04","C15D03G05"
Data "C01D04G01","C05D05G02","C06D06G03","C07D07G04","C08D08G05"
Data "C09D09G01","C10D01G02","C12D02G03","C14D03G04","C06D04G05"
Data "C01D05G01","C02D06G02","C03D07G03","C04D08G04","C05D09G05"
Data "C06D01G01","C07D02G02","C08D03G03","C09D04G04","C10D05G05"
End Proc
'==========================================
'if gametype=1st to a milllion, check if
Procedure _CHECKMILL
WINNER=0
For A=1 To PLYRS
If PCASH(A)>=1000000 Then WINNER=A
Next A
If WINNER=0 Then Pop Proc
'puta nice screen in here
Cls 0
Load Iff "punter_files/mill.iff",0
Track Play 9
Shift Up 5,1,2,1
Paper 0 : Pen 11
Locate 0,7 : Centre "CONGRATULATIONS"
Print : Centre "PLAYER "+Str$(WINNER)
Wait 50
While Mouse Key=0 : Wend
QUIT=1
Track Stop
Shift Off
End Proc
'==========================================
'if gtype=1st to own 24 horse, check it
Procedure _CHECK24
WINNER=0
If P1OWNS>=24 Then WINNER=1
If P2OWNS>=24 Then WINNER=2
If P3OWNS>=24 Then WINNER=3
If P4OWNS>=24 Then WINNER=4
If WINNER=0 Then Pop Proc
Load Iff "punter_files/24.iff",0
Track Play 9
Paper 0 : Pen 3
Locate 10,2 : Centre "PLAYER "+Str$(WINNER)
Print : Print : Centre "OWNS 24 HORSES AND IS THE WINNER"
Shift Up 5,13,14,1
Wait 50
While Mouse Key=0 : Wend
QUIT=1
Shift Off
Track Stop
End Proc
'==========================================
'check if player out of game/remove plyr
Procedure _DEAD
Screen Open 0,640,200,8,Hires
Curs Off : Hide : Cls 0
If PLYRS=1 and PCASH(1)<=0
Load Iff "punter_files/bust.iff",0
For A=1 To 100 : OWN1(A)=0 : Next A : PCASH(1)=0 : RETAINER(1)=0 : HADLOAN(1)=0 : LR(1)=0
QUIT=1 : Goto SS
End If
If P1DEAD=1 and M1=0
Load Iff "punter_files/bust.iff",0
Locate 0,23 : Centre "PLAYER 1 IS NO LONGER IN THE GAME"
For A=1 To 100 : OWN1(A)=0 : Next A : PCASH(1)=0 : RETAINER(1)=0 : HADLOAN(1)=0 : LR(1)=0
M1=1 : Dec REALPLAYERS
While Mouse Key=0 : Wend
End If
If P2DEAD=1 and M2=0
Load Iff "punter_files/bust.iff",0
Locate 0,23 : Centre "PLAYER 2 IS NO LONGER IN THE GAME"
For A=1 To 100 : OWN2(A)=0 : Next A : HADLOAN(2)=0 : LR(2)=0 : PCASH(2)=0 : RETAINER(2)=0
M2=1 : Dec REALPLAYERS
While Mouse Key=0 : Wend
End If
If P3DEAD=1 and M3=0
Load Iff "punter_files/bust.iff",0
Locate 0,23 : Centre "PLAYER 3 IS NO LONGER IN THE GAME"
For A=1 To 100 : OWN3(A)=0 : Next A : HADLOAN(3)=0 : LR(3)=0 : PCASH(3)=0 : RETAINER(3)=0
M3=1 : Dec REALPLAYERS
While Mouse Key=0 : Wend
End If
If P4DEAD=1 and M4=0
Load Iff "punter_files/bust.iff",0
Locate 0,23 : Centre "PLAYER 4 IS NO LONGER IN THE GAME"
For A=1 To 100 : OWN4(A)=0 : Next A : PCASH(4)=0 : HADLOAN(4)=0 : LR(4)=0 : RETAINER(4)=0
M4=1 : Dec REALPLAYERS
While Mouse Key=0 : Wend
End If
Wait 10
ALLDEAD=0
If P1DEAD=1 and P2DEAD=1 and P3DEAD=1 and P4DEAD=1 Then ALLDEAD=1
If PLYRS=3 and P1DEAD=1 and P2DEAD=1 and P3DEAD=1 Then ALLDEAD=1
If PLYRS=2 and P1DEAD=1 and P2DEAD=1 Then ALLDEAD=1
If REALPLAYERS=1 Then ALLDEAD=1 : Gosub GQL
If ALLDEAD=1 Then Locate 0,18 : Centre "G A M E O V E R"
If ALLDEAD=1 Then Print : Print : Centre "THE WINNER IS PLAYER "+Str$(WINNER)
SS:
While Mouse Key=0 : Wend
Cls 0
If ALLDEAD=1 Then QUIT=1
Limit Mouse
Pop Proc
GQL:
If P1DEAD=0 Then WINNER=1
If P2DEAD=0 Then WINNER=2
If P3DEAD=0 and PLYRS>=3 Then WINNER=3
If P4DEAD=0 and PLYRS=4 Then WINNER=4
Return
End Proc
'==========================================
'set up the data for the next race
Procedure _SETRACE
QUIT=0
If PLYRS=1 and PCASH(1)<=0 Then _DEAD : If QUIT=1 Then Pop Proc
If GAMETYPE=2 Then _CHECK24 : Goto HH
If GAMETYPE=3 Then _CHECKMILL : Goto HH
If PCASH(1)<=0 Then P1DEAD=1
If PCASH(2)<=0 and PLYRS>1 Then P2DEAD=1
If PCASH(3)<=0 and PLYRS>2 Then P3DEAD=1
If PCASH(4)<=0 and PLYRS>3 Then P4DEAD=1
If P1DEAD=1 and M1=0 Then _DEAD
If P2DEAD=1 and M2=0 Then _DEAD
If P3DEAD=1 and M3=0 and(PLYRS>=3) Then _DEAD
If P4DEAD=1 and M4=0 and(PLYRS=4) Then _DEAD
HH:
If QUIT=1 Then Pop Proc
P1GJ=0 : P2GJ=0 : P3GJ=0 : P4GJ=0
FIRSTLOOK=0
If RACE>6 Then RACE=1 : Inc MEET : _MEET : For A=1 To 100 : RATMET(A)=0 : Next A : If MEET>15 Then MEET=1 : Inc SEASON : _NEWSEASON : If QUIT=1 Then Pop Proc
If RACE=1 Then GOIN=Rnd(4)+1 : GG$=GOING$(GOIN)
RNNERS=Rnd(4)+4
'RNNERS=8 : Rem for testing--------------
'get rnd rnners
RT:
For A=1 To 8 : RNNING(A)=0 : Next A
ERR=0
For A=1 To RNNERS
R=Rnd(99)+1
For B=1 To RNNERS
If R=RNNING(B) Then ERR=1
If RNS(R)>=15 Then ERR=1 : Rem make sure no horse races >14 times a season
If RATMET(R)>0 Then ERR=1 : Rem make sure not raced at this meeting
Next B
If ERR=1 Then Goto RT
'If A=1 Then R=1 : Rem******for testing only horse 1 always same,remove***************
RNNING(A)=R
HOR$(A)=H$(R)
Next A
For A=1 To RNNERS
R=RNNING(A)
Inc RATMET(R) : Rem inc raced at this meeting
Next A
'
'get rnd jocks
R1=RETAINER(1)
R2=RETAINER(2)
R3=RETAINER(3)
R4=RETAINER(4)
JOT:
For A=1 To 8 : JTEMP(A)=0 : Next A
For A=1 To 25 : JR(A)=0 : Next A
JERR=0
For A=1 To RNNERS
J=Rnd(24)+1
For B=1 To RNNERS
If J=JTEMP(B) Then JERR=1
Next B
If J=R1 or J=R2 or J=R3 or J=R4 Then JERR=1
If JERR=1 Then Goto JOT
JTEMP(A)=J
J$(A)=JOCK$(J)
JR(J)=1
JJJ(A)=A
Next A
For A=1 To 8 : TEMP(A)=0 : Next A
DAW$=DRW$(MEET)
'distance
DI=Rnd(7)+1
For A=1 To 8 : PTS(A)=RNNERS-5
If PTS(A)<1 Then PTS(A)=1
Next A
'=======================================
'look at draw
'do sprint low, and low best draws if >4 runners add pt to horses in draw 1 and 2 ,if runners> 6 then add 1pt to horse 3 as well
If DI=<4 and RNNERS>4 and(DAW$="LOW BEST") or(DAW$="LOW (SPRINTS)") Then Dec PTS(1) : Dec PTS(2) : If RNNERS>6 Then Dec PTS(3)
If DI=<4 and RNNERS>4 and(DAW$="HIGH BEST") or(DAW$="HIGH (SPRINTS)") Then Dec PTS(RNNERS) : Dec PTS(RNNERS-1) : If RNNERS>6 Then Dec PTS(RNNERS-2)
'
For A=1 To RNNERS
HN=RNNING(A) : Rem get horse number
C$=HCHAR$(HN)
'find if likes course
C1$=Mid$(C$,2,2) : COUR=Val(C1$) : If MEETING$(COUR)=MEETING$(MEET) Then Dec PTS(A)
'distance
D1$=Mid$(C$,5,2) : DUR=Val(D1$) : If DUR=DI Then Dec PTS(A) : Dec PTS(A) Else Inc PTS(A) : Inc PTS(A)
'If A=1 Then Print DUR : Print DI : Wait Key
'going
G1$=Mid$(C$,8,2) : GOUR=Val(G1$) : If GOUR=GOIN Then Dec PTS(A) : Dec PTS(A) : Else Inc PTS(A) : Inc PTS(A)
If Inkey$="m" Then Locate 21,23 : Print "Chip= ";Chip Free;" Fast= ";Fast Free;" Total= ";Chip Free+Fast Free
If Inkey$="l" Then Gosub PAYLOAN : If NOPAY=0 Then Goto REGGY
Wend
MK=Mouse Key
K=Mouse Zone
If K=4 and PTURN<PLYRS Then Locate 0,23 : Paper 1 : Centre "CLICK ON NEXT PLAYER" : Wait 50 : Locate 0,23 : Print Space$(79)
If K=4 Then Gosub GPL : If PTURN=PLYRS or RP=1 Then _EFEES : _DISPBETS : _RACE : Pop Proc
If K=5 and MK=1 and PTURN<PLYRS Then Inc PTURN : Goto REGGY
If K=5 and MK=2 and PTURN>1 Then Dec PTURN : Goto REGGY
If K=2 Then _BOOK : Goto REGGY
If K=3 and PCASH(PTURN)>=25 Then _TIPSTER : Goto REGGY
If K=1 and PCASH(PTURN)>0 and(PBET(PTURN)=0) Then _BET : Limit Mouse : Goto REGGY
If K=6 Then _LOAD : Show On : Goto BAGLADY
'bottom half
If K=7 and PCASH(PTURN)>0 Then _AUCTION : Limit Mouse : Goto REGGY
If K=8 Then _SELL : Goto REGGY
If K=9 and HADLOAN(PTURN)=0 Then _LOAN : Goto REGGY
If K=9 and HADLOAN(PTURN)>0 Then Locate 21,23 : Paper 4 : Print "YOU HAVE TO PAY YOUR OLD LOAN OFF FIRST!" : Wait 75 : Paper 1 : Locate 0,23 : Print Space$(79)
If K=10 Then _JOCKEYS : Goto REGGY
If K=11 Then Locate 0,23 : Centre "CONFIRM START A NEW GAME Y/N?" : Gosub QUIT : If QUIT=0 Then Goto REGGY : Else Pop Proc
If K=12 Then _SAVE : Show On : Goto BAGLADY
If K=13 and HADLOAN(PTURN)>0 Then Gosub PAYLOAN : If NOPAY=0 Then Goto REGGY
Loop
GPL:
If PTURN=3 and P4DEAD=1 Then RP=1
If PTURN=2 and P4DEAD=1 and P3DEAD=1 Then RP=1
If PTURN=1 and P2DEAD=1 and P3DEAD=1 and P4DEAD=1 Then RP=1
'hb=horse number backed and btype=bet type; 1=win etc
PBET(PTURN)=0
Limit Mouse X Hard(230),Y Hard(25) To X Hard(400),Y Hard(200) : Rem type of bet
Do
While Mouse Key=0 : Wend
MK=Mouse Key
K=Mouse Zone
If K=1 Then Ink 7,7 : Paint 236,27 : Flash 7,"(0a0,10)(fff,10)" : BTYPE(PTURN)=1 : Gosub BB
If K=2 and RNNERS>5 Then Ink 7,7 : Paint 236,53 : Flash 7,"(0a0,10)(fff,10)" : BTYPE(PTURN)=2 : Gosub BB
If K=3 and RNNERS>4 Then Ink 7,7 : Paint 236,85 : Flash 7,"(0a0,10)(fff,10)" : BTYPE(PTURN)=3 : Gosub BB
If K=4 and RNNERS>4 Then Ink 7,7 : Paint 236,113 : Flash 7,"(0a0,10)(fff,10)" : BTYPE(PTURN)=4 : Gosub BB
If K=5 and PSTAKE(PTURN)>0 and(HB(PTURN)>0) and(BTYPE(PTURN)>0) Then Locate 55,19 : Pen 7 : Print "BET ACCEPTED" : Wait 50 : PBET(PTURN)=1 : Pop Proc
If K=6 Then PCASH(PTURN)=BUP(PTURN) : PBET(PTURN)=0 : PSTAKE(PTURN)=0 : HB(PTURN)=0 : WIN=0 : SF1(PTURN)=0 : RF1(PTURN)=0 : RF2(PTURN)=0 : SF2(PTURN)=0 : Pop Proc
If K=15 and PCASH(PTURN)>1 and(BTYPE(PTURN)=2) Then Add PSTAKE(PTURN),10 : Add PCASH(PTURN),-10 : Gosub STAKE : Wait Vbl : Goto HAQ
If K=15 and PCASH(PTURN)>1 and(BTYPE(PTURN)=3) Then Add PSTAKE(PTURN),10 : Add PCASH(PTURN),-10 : Gosub STAKE : Wait Vbl : Goto HAQ
If K=15 and PCASH(PTURN)>1 and(BTYPE(PTURN)=4) Then Add PSTAKE(PTURN),10 : Add PCASH(PTURN),-10 : Gosub STAKE : Wait Vbl : Goto HAQ
If K=15 and MK=1 and(PCASH(PTURN)>0) and(BTYPE(PTURN)=1) Then Inc PSTAKE(PTURN) : Dec PCASH(PTURN) : Wait Vbl : Gosub STAKE
If K=15 and MK=2 and(PCASH(PTURN)>=100) and(BTYPE(PTURN)=1) Then Add PSTAKE(PTURN),100 : Add PCASH(PTURN),-100 : Wait Vbl : Gosub STAKE
If K=16 and PCASH(PTURN)>1 and(BTYPE(PTURN)=2) and(PSTAKE(PTURN)>1) Then Add PSTAKE(PTURN),-10 : Add PCASH(PTURN),10 : Gosub STAKE : Wait Vbl : Goto HAQ
If K=16 and PCASH(PTURN)>1 and(BTYPE(PTURN)=3) and(PSTAKE(PTURN)>1) Then Add PSTAKE(PTURN),-10 : Add PCASH(PTURN),10 : Gosub STAKE : Wait Vbl : Goto HAQ
If K=16 and PCASH(PTURN)>1 and(BTYPE(PTURN)=4) and(PSTAKE(PTURN)>1) Then Add PSTAKE(PTURN),-10 : Add PCASH(PTURN),10 : Gosub STAKE : Wait Vbl : Goto HAQ
If K=16 and MK=1 and(PSTAKE(PTURN)>0) and(BTYPE(PTURN)=1) Then Dec PSTAKE(PTURN) : Inc PCASH(PTURN) : Gosub STAKE
If K=16 and MK=2 and(PSTAKE(PTURN)>=100) and(BTYPE(PTURN)=1) Then Add PSTAKE(PTURN),-100 : Add PCASH(PTURN),100 : Gosub STAKE
If K=17 and HB(PTURN)=0 Then Goto HAQ
If K=17 and BTYPE(PTURN)<3 Then Limit Mouse X Hard(440),Y Hard(85) To X Hard(630),Y Hard(108) : Rem stake
If K=17 and BTYPE(PTURN)=4 and(RF1(PTURN)>0) and(RF2(PTURN)>0) Then Limit Mouse X Hard(440),Y Hard(85) To X Hard(630),Y Hard(108) : Rem stake
If K=17 and BTYPE(PTURN)=3 and(SF1(PTURN)>0) and(SF2(PTURN)>0) Then Limit Mouse X Hard(440),Y Hard(85) To X Hard(630),Y Hard(108) : Rem stake
If K=17 and BTYPE(PTURN)=3 and(SF2(PTURN)=0) Then Wait 5 : Goto HAQ
If K=17 and BTYPE(PTURN)=4 and(RF2(PTURN)=0) Then Wait 5 : Goto HAQ
If K=18 and PSTAKE(PTURN)>0 Then Limit Mouse X Hard(230),Y Hard(143) To X Hard(400),Y Hard(200)
If K>RNNERS+6 Then Goto HAQ
If K>=7 Then Gosub CLRBOXS : Ink 6,2
'hb=horse backed
If K=7 Then Box 36,54 To 184,64 : HB(PTURN)=1 : Gosub HO
If K=8 Then Box 36,70 To 184,80 : HB(PTURN)=2 : Gosub HO
If K=9 Then Box 36,86 To 184,96 : HB(PTURN)=3 : Gosub HO
If K=10 Then Box 36,102 To 184,112 : HB(PTURN)=4 : Gosub HO
If K=11 Then Box 36,118 To 184,128 : HB(PTURN)=5 : Gosub HO
If K=12 Then Box 36,134 To 184,144 : HB(PTURN)=6 : Gosub HO
If K=13 Then Box 36,150 To 184,160 : HB(PTURN)=7 : Gosub HO
If K=14 Then Box 36,166 To 184,176 : HB(PTURN)=8 : Gosub HO
HAQ:
If BTYPE(PTURN)=3 and SF1(PTURN)>0 and(SF2(PTURN)=0) Then Pen 7 : Locate 5,27 : Print "CLICK ON ANOTHER " : Pen 3
If BTYPE(PTURN)=4 and RF1(PTURN)>0 and(RF2(PTURN)=0) Then Pen 7 : Locate 5,27 : Print "CLICK ON ANOTHER " : Pen 3
If BTYPE(PTURN)=3 and SF2(PTURN)>0 Then Pen 0 : Locate 5,27 : Print " " : Pen 3
If BTYPE(PTURN)=4 and RF2(PTURN)>0 Then Pen 0 : Locate 5,27 : Print " " : Pen 3
If BTYPE(PTURN)=3 and(SF1(PTURN)>0) and(SF2(PTURN)>0) and(PSTAKE(PTURN)=0) Then Gosub CLRBOXS : Locate 8,27 : Print " " : Limit Mouse X Hard(440),Y Hard(85) To X Hard(630),Y Hard(108) : Rem stake
If BTYPE(PTURN)=4 and(RF1(PTURN)>0) and(RF2(PTURN)>0) and(PSTAKE(PTURN)=0) Then Gosub CLRBOXS : Locate 8,27 : Print " " : Limit Mouse X Hard(440),Y Hard(85) To X Hard(630),Y Hard(108) : Rem stake
If BTYPE(PTURN)=1 Then Locate 31,26 : Print "BET �";PSTAKE(PTURN);" "
If BTYPE(PTURN)=2 Then Locate 31,26 : Print "BET �";PSTAKE(PTURN)/2;" EACH WAY "
If BTYPE(PTURN)=3 Then Locate 31,26 : Print "BET �";PSTAKE(PTURN);" STRAIGHT FORCAST "
If BTYPE(PTURN)=4 Then Locate 31,26 : Print "BET �";PSTAKE(PTURN)/2;" REVERSED FORCAST "
If HB(PTURN)>0 and BTYPE(PTURN)=1 Then Locate 31,28 : Print "TO WIN AT ";ODD(HB(PTURN));"/1";" "
If HB(PTURN)>0 and BTYPE(PTURN)=2 Then Locate 31,28 : Print "EACH WAY AT ";ODD(HB(PTURN));"/1";" "
Wait 5
Return
HO:
If BTYPE(PTURN)=3 and SF1(PTURN)>0 and(SF1(PTURN)=SF2(PTURN)) Then Return
If BTYPE(PTURN)=3 and SF1(PTURN)=0 and(SF2(PTURN)=0) Then SF1(PTURN)=HB(PTURN) : Z$=HOR$(SF1(PTURN)) : Locate 30,27 : Print Mid$(Z$,8,13);" TO COME FIRST " : Wait 25 : Return
If BTYPE(PTURN)=3 and SF1(PTURN)>0 and(SF2(PTURN)=0) and(SF1(PTURN)<>HB(PTURN)) Then SF2(PTURN)=HB(PTURN) : Z$=HOR$(SF2(PTURN)) : Locate 30,28 : Print Mid$(Z$,8,13);" TO COME SECOND " : Return
If BTYPE(PTURN)=4 and RF1(PTURN)>0 and(RF1(PTURN)=RF2(PTURN)) Then Return
If BTYPE(PTURN)=4 and RF1(PTURN)=0 and(RF2(PTURN)=0) Then RF1(PTURN)=HB(PTURN) : Z$=HOR$(RF1(PTURN)) : Locate 30,27 : Print Mid$(Z$,8,13);" TO COME 1st OR 2nd " : Wait 25 : Return
If BTYPE(PTURN)=4 and RF1(PTURN)>0 and(RF2(PTURN)=0) and(RF1(PTURN)<>HB(PTURN)) Then RF2(PTURN)=HB(PTURN) : Z$=HOR$(RF2(PTURN)) : Locate 30,28 : Print Mid$(Z$,8,13);" TO COME 2nd OR 1st " : Return
If BTYPE(PTURN)<3 Then Z$=HOR$(HB(PTURN)) : Locate 30,27 : Print Mid$(Z$,8,13);" "
Return
BB:
If BTYPE(PTURN)>0 Then Limit Mouse X Hard(40),Y Hard(55) To X Hard(175),Y Hard(200) : Rem horses
If BTYPE(PTURN)>=3 and SF1(PTURN)=0 and(SF2(PTURN)=0) Then Pen 7 : Locate 5,27 : Print "CLICK ON ONE HORSE" : Pen 3 : Return
Return
CLRBOXS:
Ink 0,0
Box 36,54 To 184,64 : Rem h1
Box 36,70 To 184,80 : Rem h2
Box 36,86 To 184,96 : Rem h3
Box 36,102 To 184,112 : Rem h4
Box 36,118 To 184,128 : Rem h5
Box 36,134 To 184,144 : Rem h6
Box 36,150 To 184,160 : Rem h7
Box 36,166 To 184,176 : Rem h8
Return
End Proc
'==========================================
'display bet made on racecard
Procedure _SBETS
'display bet made on racecard
PB$="" : PB2$="" : PB3$=""
If PBET(PTURN)=0 Then Pop Proc
'get stake in pb$
If BTYPE(PTURN)=2 or BTYPE(PTURN)=4 Then PB$="�"+Str$(PSTAKE(PTURN)/2)-" " : Goto GVX
PB$="�"+Str$(PSTAKE(PTURN))-" "
GVX:
'get type of bet add to pb$
'is it win bet? if yes pb2$=horse number hb
If BTYPE(PTURN)=1 Then PB$=PB$+" WIN" : PB2$="HORSE "+Str$(HB(PTURN)) : PB3$=""
'is it e/w bet?
If BTYPE(PTURN)=2 Then PB$=PB$+" E/W" : PB2$="HORSE "+Str$(HB(PTURN)) : PB3$=""
'sfc?
If BTYPE(PTURN)=3 Then PB$=PB$+" SFC" : PB2$="HORSE "+Str$(SF1(PTURN)) : PB3$="HORSE "+Str$(SF2(PTURN))
'rfc
If BTYPE(PTURN)=4 Then PB$=PB$+" RFC" : PB2$="HORSE "+Str$(RF1(PTURN)) : PB3$="HORSE "+Str$(RF2(PTURN))
End Proc
'==========================================
'tipster
Procedure _TIPSTER
Dim GONE(8)
Hide On
Load Iff "punter_files/tipster.iff",0
Reserve Zone
Reserve Zone 3
Set Zone 1,0,4 To 639,65 : Rem DEAD CERT
Set Zone 2,0,67 To 639,163 : Rem tv man
Set Zone 3,0,165 To 639,270 : Rem form man
Show On
'
Wait 25
FREDS:
K=0
Do
If Mouse Key<>0 Then Goto REGSMATE
If Key State(69) Then Pop Proc
Loop
'
REGSMATE:
Do
K=Mouse Zone
If K=<0 Then Goto FREDS
If K=1 Then Gosub CERT : Pop Proc
If K=2 Then Gosub TVMAN : Pop Proc
If K=3 Then Gosub FMAN : Pop Proc
Loop
'
CERT:
'only give 1 dead cert per season =given
Load Iff "punter_files/dead_cert.iff",0
_MOUSE
If BHBDC=1 or GIVEN=1 Then Goto BYE
Gosub CDIST
If OKAY=0 Then Goto BYE
BHBDC=1
Add PCASH(PTURN),-100
DC=Rnd(1)
If DC<>1 Then DEADCERT=0 : DC=0
If DC=1
FUCKIT:
DEADCERT=OKAY
End If
'
BYE:
Paper 7
If DC<>1 Then Locate 0,14 : Centre "SORRY NO DEAD CERT FOR THIS RACE!" : DEADCERT=0 : Goto GAZZA
If DC=1
Locate 0,14 : Centre "BOY, HAVE I GOT A TIP FOR YOU!!!"
Print : Print : Centre "PUT AS MUCH AS YOU CAN AFFORD ON:"
DC$=HOR$(DEADCERT) : DEADCERT$=Mid$(DC$,8,13)
Paper 1 : Print : Print : Centre DEADCERT$
GIVEN=1
End If
'
GAZZA:
While Mouse Key=0 : Wend
Return
'
TVMAN:
Load Iff "punter_files/tv_man.iff",0
_MOUSE
Add PCASH(PTURN),-75
'choose a rnd horse as a tip ie: this is a rip off!
'bho means been here once already for this race so show same tip as last time
If BHO=1 Then Goto J
BHO=1
RR:
R1=Rnd(RNNERS)
R2=Rnd(RNNERS)
If R2=R1 Then Goto RR
If R2=0 or R1=0 Then Goto RR
RRR:
R3=Rnd(RNNERS)
If R3=R2 Then Goto RRR
If R3=R1 Then Goto RRR
If R3=0 Then Goto RRR
TV1$=HOR$(R1) : VV1$=Mid$(TV1$,8,13)
TV2$=HOR$(R2) : VV2$=Mid$(TV2$,8,13)
TV3$=HOR$(R3) : VV3$=Mid$(TV3$,8,13)
J:
Paper 4 : Pen 0
Locate 0,16 : Centre "THIS WILL BE THE 1-2-3 IN NEXT RACE!"
Pen 5 : Locate 0,18 : Centre ""+VV1$
Pen 1 : Locate 0,19 : Centre ""+VV2$
Pen 0 : Locate 0,20 : Centre ""+VV3$
Pen 3 : Print : Print : Centre "THANKYOU FOR YOUR CUSTOM"
While Mouse Key=0 : Wend
Return
'
'
FMAN:
Load Iff "punter_files/form_man.iff",0
_MOUSE
Add PCASH(PTURN),-25
'if dist is a sprint (di) and runners>4 and draw is low best or low then tell em best drawn horse
GDRW=0 : For A=1 To 8 : RATING(A)=0 : Next A
Paper 7 : Pen 3 : Locate 0,10 : DWN=8 : ACR=19
If DI=<4 and RNNERS>4 and(DAW$="LOW BEST") or(DI<=4) and(DAW$="LOW (SPRINTS)") Then GDRW=1
If DI=<4 and RNNERS>4 and(DAW$="HIGH BEST") or(DI<=4) and(DAW$="HIGH (SPRINTS)") Then GDRW=RNNERS
If GDRW<>0 Then V$=HOR$(GDRW) : VV$=Mid$(V$,8,13) : Locate ACR,DWN : Print VV$+" IS WELL DRAWN" : Inc DWN
Inc RATING(GDRW)
For A=1 To RNNERS
HN=RNNING(A) : Rem get horse number
C$=HCHAR$(HN)
'find if likes course
C1$=Mid$(C$,2,2) : COUR=Val(C1$) : If MEETING$(COUR)=MEETING$(MEET) Then BESTCOURSE(A)=1 : RATING(A)=RATING(A)+2
'distance
D1$=Mid$(C$,5,2) : DUR=Val(D1$) : If DUR=DI Then BESTDIST(A)=1 : RATING(A)=RATING(A)+5
'going
G1$=Mid$(C$,8,2) : GOUR=Val(G1$) : If GOUR=GOIN Then BESTGOING(A)=1 : RATING(A)=RATING(A)+3
Next A
For A=1 To RNNERS
If BESTCOURSE(A)=1 Then V$=HOR$(A) : VV$=Mid$(V$,8,13) : Locate ACR,DWN : Print VV$+" IS SUITED TO THIS TRACK" : Inc DWN
If BESTDIST(A)=1 Then V$=HOR$(A) : VV$=Mid$(V$,8,13) : Locate ACR,DWN : Print VV$+" RUNS BEST AT THIS DISTANCE" : Inc DWN
If BESTGOING(A)=1 Then V$=HOR$(A) : VV$=Mid$(V$,8,13) : Locate ACR,DWN : Print VV$+" RUNS WELL ON THIS GOING" : Inc DWN
Next A
For A=1 To RNNERS
W$=Mid$(HOR$(A),38,4)
STONE$=Left$(W$,1)
POUNDS$=Mid$(W$,3,2)
STONE=Val(STONE$)
POUNDS=Val(POUNDS$)
V$=HOR$(A) : VW$=Mid$(V$,8,13)
If STONE=8 Then Inc RATING(A) : Locate ACR,DWN : Print VW$+" HAS A SMALL WEIGHT ADVANTAGE" : Inc DWN
If STONE=7 Then RATING(A)=RATING(A)+3 : Locate ACR,DWN : Print VW$+" HAS A VERY LARGE WEIGHT ADVANTAGE" : Inc DWN
If STONE=9 and POUNDS>0 and POUNDS<10 Then Dec RATING(A) : Locate ACR,DWN : Print VW$+" HAS A SMALL WEIGHT DIS-ADVANTAGE" : Inc DWN
If STONE=9 and POUNDS>=10 Then RATING(A)=RATING(A)-4 : Locate ACR,DWN : Print VW$+" HAS A LOT OF WEIGHT TO CARRY" : Inc DWN
Next A
For A=1 To RNNERS : GONE(A)=1 : Next A : Rem For who has been scored
For T=1 To RNNERS : Rem Find highest of non scored horses
PP=-1
For A=1 To RNNERS
If RATING(A)>PP and GONE(A)=1 : PP=RATING(A) : PPWHO=A : End If
Next A
P(T)=PPWHO : Rem Record horse in positions array
GONE(PPWHO)=0 : Rem Score horse
Next T
TIP=P(1)
If RATING(TIP)<4 Then Print : Print : Pen 5 : Centre " THIS IS A DIFFICULT RACE, I SUGGEST NO BET!." : Goto H
V$=HOR$(TIP) : VV$=Mid$(V$,8,13)
Print : Print : Pen 1 : Centre " TIP:"+VV$
H:
While Mouse Key=0 : Pen Rnd(7) : Locate 0,28 : Centre "PRESS A MOUSE KEY" : Wait 3 : Wend
For A=1 To 8 : BESTCOURSE(A)=0 : BESTDIST(A)=0 : BESTGOING(A)=0 : Next A
Fade 2 : Wait 30
Show On
Return
'
'
CDIST:
'this is for dead cert, it returns a horse number in okay that can
'do the distance, therefore not messing form book up by picking a
'sprinter to win a 16f race etc.
'
OKAY=0
For A=1 To RNNERS
HON=RNNING(A) : Rem get horse number & see if any can do the distance
CQ$=HCHAR$(HON)
DVX$=Mid$(CQ$,5,2) : DIS=Val(DVX$) : If DIS=DI Then OKAY=A
Next A
Return
End Proc
'==========================================
'buy a horse
Procedure _AUCTION
If HORSESFORSALE=0 Then Cls 0 : Locate 0,12 : Centre "NO HORSES FOR SALE" : Wait 75 : Pop Proc
If FIRSTLOOK=1 and HCOUNT=0 Then Cls 0 : Locate 0,12 : Centre "NO MORE HORSES FOR SALE" : Wait 75 : Pop Proc
NO=0
If PTURN=1 and P1OWNS>=24 Then NO=1
If PTURN=2 and P2OWNS>=24 Then NO=1
If PTURN=3 and P3OWNS>=24 Then NO=1
If PTURN=4 and P4OWNS>=24 Then NO=1
If NO=1 Then Cls 0 : Locate 0,12 : Centre "NOBODY WANTS TO SELL TO YOU" : Wait 75 : Pop Proc
Limit Mouse : Show On
Screen Open 0,640,256,8,Hires
Flash Off : Curs Off : Paper 0 : Cls 0
Reserve Zone
Reserve Zone 25
_MOUSE
Flash 2,"(fff,5)(222,5)"
'set up some horses for sale
If FIRSTLOOK=1 Then Goto FUCK
HSOLD=P1OWNS+P2OWNS+P3OWNS+P4OWNS
If HSOLD=0 Then HSOLD=20 : Rem rnd amount for now
For A=1 To 25 : TEMP(A)=0 : Next A
HERR=0
APS:
HFS=Rnd(HSOLD) : Rem horses for sale
If HFS>99-HSOLD Then Goto APS
If HFS=0 Then HFS=1
If HFS>20 Then HFS=20
HCOUNT=HFS
'HFS=24 : Rem============for testing
HXX:
For A=1 To HFS
Inc FCOUNT : If FCOUNT>100 Then FCOUNT=1
DFL:
If FCOUNT>100 Then FCOUNT=1
For B=1 To HFS
If FCOUNT=TEMP(B) Then HERR=1
If OWN1(FCOUNT)=1 Then HERR=1 : Rem does anyone already own it?
If OWN2(FCOUNT)=1 Then HERR=1
If OWN3(FCOUNT)=1 Then HERR=1
If OWN4(FCOUNT)=1 Then HERR=1
Next B
If HERR=1 Then Inc FCOUNT : HERR=0 : Goto DFL
TEMP(A)=FCOUNT
HLIST(A)=FCOUNT : Rem hlist(a)=stote thehorse numbers
Next A
FIRSTLOOK=1
FUCK:
B=16 : C=22 : For A=1 To HFS
Set Zone A,24,B+8 To 584,C+8
'Box 24,B+8 To 584,C+8
Add B,8 : Add C,8
Next A
Set Zone HFS+1,0,0 To 64,8
'
'work out value of each horse:
' 4yo=50000 .... age(N)
'5yo=40000
'6yo=30000
'add 1000 for each win ....WINS(N)
'subtract 100 for each loss...runs-wins=losses
'add 10% of total prizemoney won by that horse ....pm(N)/10
'
For A=1 To HFS
XI=HLIST(A)
If AGE(XI)=4 Then VU(A)=50000
If AGE(XI)=5 Then VU(A)=40000
If AGE(XI)=6 Then VU(A)=30000
W=WINS(XI) : W=W*1000 : Add VU(A),W
R=RNS(XI)-WINS(XI) : Add VU(A),-R*100
P=PM(XI)/10 : Add VU(A),P
Next A
Home : Pen 2 : Inverse On : Print "EXIT" : Inverse Off : Pen 1 : Inverse On : Home : Centre "HORSES CURRENTLY FOR SALE" : Inverse Off
Pen 7 : Locate 3,2 : Under On : Print "LAST 6 NAME TRAINER AGE/WGHT WINS/RUNS PRIZE VALUE "
Pen 5
Under Off
SZX:
Pen 5
For A=1 To HFS
XI=HLIST(A)
If XI=0 Then Locate 3,A+2 : Print Space$(76) : Goto HAZ